package org.insia.smartposse.dao;

import org.insia.smartposse.config.DAOFactory;
import org.insia.smartposse.idao.IMessagerieDAO;
import org.insia.smartposse.metier.Messagerie;
import org.insia.smartposse.metier.webservice.LightMessagerie;
/**
 * DAO for MessagerieDAO class.
 * @author sok hout
 *
 */
public class MessagerieDAO
extends GenericDAO<Messagerie, Long> 
implements IMessagerieDAO {
	/**
	 * Empty constructor
	 *
	 */
	public MessagerieDAO() {
		type = Messagerie.class;
	}

	/* (non-Javadoc)
	 * @see org.insia.smartposse.idao.IMessagerieDAO#createLightMessagerie(org.insia.smartposse.metier.webservice.LightMessagerie)
	 */
	public LightMessagerie createLightMessagerie(LightMessagerie lmessagerie) {
		try {
			Messagerie messagerie = new Messagerie();
			messagerie.setMessage(lmessagerie.getMessage());
			messagerie.setRead(0);
			messagerie.setTitle(lmessagerie.getTitle());
			messagerie.setUser_recip(DAOFactory.getUserDAO().get(lmessagerie.getUser_recip()));
			messagerie.setUser_sender(DAOFactory.getUserDAO().get(lmessagerie.getUser_sender()));
			lmessagerie.setId(DAOFactory.getMessagerieDAO().create(messagerie));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return lmessagerie;
	}

	/*
	 * (non-Javadoc)
	 * @see org.insia.smartposse.idao.IMessagerieDAO#updateLightMessagerie(org.insia.smartposse.metier.webservice.LightMessagerie)
	 */
	public LightMessagerie updateLightMessagerie(LightMessagerie lmessagerie) {
		try {
			Messagerie messagerie = DAOFactory.getMessagerieDAO().get(lmessagerie.getId());;
			messagerie.setMessage(lmessagerie.getMessage());
			messagerie.setRead(0);
			messagerie.setTitle(lmessagerie.getTitle());
			messagerie.setUser_recip(DAOFactory.getUserDAO().get(lmessagerie.getUser_recip()));
			messagerie.setUser_sender(DAOFactory.getUserDAO().get(lmessagerie.getUser_sender()));
			DAOFactory.getMessagerieDAO().update(messagerie);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return lmessagerie;
	}
}
